The present invention relates to a graphic information processing apparatus and more particularly, to a graphic information processing apparatus suitable for application to a Computer-Aided Design (CAD) system.
CAD systems using graphic information processing apparatus are extensively used in manufacturing industries to lessen the burden in design work and to expedite it. The user of a graphic information processing apparatus initiates a process of inputting, changing or outputting a shape of an object to be designed, by using an input device such as a pointing device (tablet, digitizer, mouse and so on), a keyboard, a graphic display and etc. In each process, the position information of geometric elements of the object is supplied from the input device to the graphic information processing apparatus, in the form of key-inputted numeral information or pointing-device-inputted position information.
In a prior art graphic information processing apparatus disclosed, for example, in "Interface" 1984, pp. 226 to 273, the article "Shape Modelling and Graphic Process", a graphic figure is expressed by coordinate information and the geometric elements indicated by the coordinates, but pointers for identifying memory areas storing the coordinate information are not present.
If there occurs an operation error, a change in design, a change in approximate value indicated by a pointing device to a true value, a need of application to another graphic figure, etc., the user is requested to initiate a necessary process for changing the information stored in the graphic information processing apparatus. Among various processes, in a process for changing the position and dimension of geometric elements, the prior art graphic information processing apparatus automatically changes the geometric information stored therein such as coordinate information as the user identifies geometric elements to be changed and inputs the change amount of position and dimension and the resultant position and dimension.
Further, in judging if the coordinate values representative of the positions of geometric elements are identical, for example, in judging if two geometric elements are positioned at identical coordinate values, the prior art identity judging circuit performs such judgement based on the coordinate information (coordinate values) which has been stored together with the other information on geometric elements. For a case where an error occurs in calculating coordinate values, there is known an alternative identify judging circuit which judges based on the fact that an absolute value of a difference between two coordinate values is smaller than a predetermined value.
Information on dimension with tolerance inputted by the user is stored, as a correlation between geometric elements, in a dimension information memory area by a dimension addition/change circuit, as seen, for example, in the papers Nos. 104 and 109, at the 3rd Lecture on Design Automation Engineering held by both The Japan Society of Mechanical Engineers and The Japan Society of Precision Engineering.
For changing the dimension of a graphic figure stored in the graphic information processing apparatus, the user initiates a process provided in the apparatus by which the dimension and position of geometric elements are changed. There is known a circuit for automatically changing the dimension information in the memory areas, by using as dimension information the distances between a geometric element moving during the above process and other geometric elements. There is also known a process wherein if the user intends to input the position and dimension values of the shape of a graphic figure, provisional variables prepared beforehand are inputted instead of the position and dimension values, and thereafter the values substituted for the variables are changed.
The user actuates each of the above apparatus in accordance with various processes the user initiates to store graphic information in the memory area, and thereafter actuates a display to display thereon the graphic figure.
For changing the shape, position and direction of a plurality of graphic figures stored in the memory by using a prior art graphic information processing apparatus, the user is requested to initiate a process for changing the coordinate information on the graphic figure, for every geometric element. The reason for this is that the coordinate values defining the positions of geometric elements are independently and separately stored in the prior art apparatus without correlation therebetween. For instance, in a graphic information processing apparatus storing a three-dimensional graphic figure in wire frame presentation defined by an xyz rectangular coordinate system as shown in FIG. 3, a shift of point 21 in the y axis direction by 10 mm can be achieved by changing the y coordinate value of point 21 stored in the memory area. However, shifts of points 21, 22, 23 and 24 and lines 25, 26, 27 and 28 in the y axis direction by 10 mm and resultant extensions of lines 29, 30, 31 and 32 must be performed through a plurality of processes to be initiated by the user. Since the number of processes is generally proportional to the number of geometric elements to be changed, a large number of processes are required for changing a number of elements, thus leading to a complicated operation. There is known a graphic information processing apparatus provided with a process for changing points and lines at a same time if they satisfy certain conditions. However, there is no means for judging if the conditions are met by chance or if the information satisfying such conditions is set intentionally. Therefore, it is impossible to automatically change points and lines only by one process. In the above example, if a graphic information processing apparatus is used, which is designed to change at a same time those points and lines which satisfy the conditions that the y coordinate value is identical to that of point 21, the information on points 22, 23 and 24 and lines 25, 26, 27 and 28 can be changed as desired, but the information on points 33, 34 and so on which should not be changed is also changed at that time.
To obtain a drawing from a three-dimensional graphic figure inputted in a graphic information processing apparatus, first it is transformed into a two-dimensional graphic figure and the necessary information such as dimension lines and notes are added thereto. To change the dimension of the graphic figure after such process, it is necessary to change the corresponding positions of both the three- and two-dimensional graphic figures in accordance with a change amount. In such case, it is necessary for a prior art graphic information processing apparatus to change the three- and two-dimensional graphic figures independently or to first change the three-dimensional graphic image and project it to form again the two-dimensional graphic image with dimension lines and notes again inputted or changed. The reason for this is that since the geometric elements of each graphic figure have their own separately stored coordinate values, only the coordinate values of one of the graphic figures can be changed at one process.
It is necessary for a graphic information processing apparatus to provide a circuit for comparing coordinate values and judging if a plurality of points are present at the same position, if a plurality of planes contact each other, and so on. It is impossible for a prior art graphic information processing apparatus to automatically and reliably compare all the combinations of coordinate values. Therefore, the user must sometimes initiate the apparatus by inputting the fact that the coordinate values are identical with each other. In particular, with the circuit for judging if coordinate values in the memory are identical to each other, there is a possibility that identical coordinate values are decided as different values. Namely, with a circuit which judges that there is an identity between two coordinate values if a difference between them is smaller than a predetermined value, a distance between two coordinate values may be decided as zero if the requested distance is smaller than a predetermined distance, even if a certain dimension is required between two coordinate values. Therefore, such a small distance cannot be processed by the apparatus.
Consider a prior art graphic information processing apparatus storing information on a mechanical component shown in FIG. 4 in the memory. To extend a dimension at 54 in the x direction by 10 mm, first a process for moving a geometric element 32 on an extension line 49 is executed. Since a dimension at 55 is not changed with the above process, a geometric element 31 on an extension line 48 is also to be moved in the z direction, and a plurality of other necessary processes are to be executed. Alternatively, by previously setting the dimension at 54 as a variable, a value substituted for the variable is to be changed so as to extend the dimension at 54 in the z direction by 10 mm.